package com.mmall.dao;

import com.mmall.pojo.User;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(User record);

    int insertSelective(User record);

    User selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(User record);

    int updateByPrimaryKey(User record);

    /**
     * 检查用户是否存在
     * @param username
     * @return
     */
    int checkUsername(String username);

    /**
     * 检查用户邮箱是否存在
     * @param email
     * @return
     */
    int checkUserEmail(String email);

    /**
     * 登录
     * @param username
     * @param password
     * @return
     * mybatis 多个参数要使用@param注解注入
     */
    User selectLogin(@Param("username") String username, @Param("password") String password);

    /**
     * 查询忘记密码问题
     * @param username
     * @return
     */
    String selectQuestion(String username);

    /**
     * 校验忘记密码问题答案
     * @param username
     * @param question
     * @param answer
     * mybatis 多个参数要使用@param注解注入
     * @return
     */
    int checkAnswer(@Param("username") String username,@Param("question") String question,@Param("answer") String answer);

    /**
     * 重设密码
     * @param username
     * @param newPassword
     * @return
     */
    int forgetResetPassword(@Param("username") String username,@Param("newPassword") String newPassword);

}